package com.zhentao.vo;

import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * 规则执行结果VO
 * @author zhentao
 * @date 2024-12-19
 */
@Data
public class RuleExecuteResultVO {
    
    /**
     * 规则编码
     */
    private String ruleCode;
    
    /**
     * 规则名称
     */
    private String ruleName;
    
    /**
     * 执行状态：SUCCESS-成功，FAILED-失败，ERROR-异常
     */
    private String status;
    
    /**
     * 执行结果数据
     */
    private Map<String, Object> resultData;
    
    /**
     * 执行消息（成功提示或错误信息）
     */
    private String message;
    
    /**
     * 错误代码（失败时）
     */
    private String errorCode;
    
    /**
     * 错误详情（失败时）
     */
    private String errorDetail;
    
    /**
     * 执行开始时间
     */
    private Date startTime;
    
    /**
     * 执行结束时间
     */
    private Date endTime;
    
    /**
     * 执行耗时（毫秒）
     */
    private Long executionTime;
    
    /**
     * 是否使用了缓存
     */
    private Boolean usedCache;
    
    /**
     * 缓存键（如果使用了缓存）
     */
    private String cacheKey;
    
    /**
     * 执行链路ID（用于追踪）
     */
    private String traceId;
    
    /**
     * 输入参数（用于调试）
     */
    private Map<String, Object> inputData;
    
    /**
     * 执行上下文（用于调试）
     */
    private Map<String, Object> context;
}

